iT邦幫忙

2024 iThome 鐵人賽

DAY 26
0
自我挑戰組

從零開始學Python系列 第 26

[Day26] Python -openpyxl模組

  • 分享至 

  • xImage
  •  
  1. import openpyxl
from openpyxl import Workbook, load_workbook
  1. 讀取excel檔案(openpyxl只支援2010以上的版本)
    以下範例為Day25實作的excel檔
    https://ithelp.ithome.com.tw/upload/images/20240916/201688113ptibam3EU.png
wb = load_workbook('books.xlsx')
  1. 因為excel中可以有許多工作表,如果只有一個工作表,可以使用預設方式開啟
ws = wb.active
print(ws)
#輸出為:<Worksheet "Sheet">
  1. 讀取表格中其中一格的資料
    ws['A10']為讀取某一格的資料,ws['A10'].value為讀取那一格的值
print(ws['A10'].value)
#輸出:電力電子乙級技能檢定學術科試題解析|2025版

https://ithelp.ithome.com.tw/upload/images/20240916/201688110u9vg25gzx.png

  1. 從頭創建一個excel表
  • 創建
wb = Workbook()
  • 執行某個工作表
ws = wb.active()
  • 更改工作表的名稱
ws.title = 'python'
  • 儲存excel檔
ws.save('excel.xlsx')
  • 新增一橫排的資料
from openpyxl import Workbook, load_workbook

wb = Workbook()
ws = wb.active
ws.title = 'python'

ws.append(['A', 'B', 'C', 'D', 'E'])

wb.save('excel.xlsx')

wb.save('excel.xlsx')再執行一次的話,會覆蓋掉前面的,重新打開後如下:
https://ithelp.ithome.com.tw/upload/images/20240916/20168811pDGXaV9Fb6.png

  1. 合併儲存格
  • 合併
ws.merge_cells('A1:C1')

https://ithelp.ithome.com.tw/upload/images/20240916/20168811cgaLqDBH4Z.png

  • 恢復成不合併的樣子,但原本的資料不會恢復
ws.unmerge_cells('A1:C1')
  1. 在表格中插入(刪除)橫排or直排
  • 插入橫排or直排
ws.insert_rows(3)

https://ithelp.ithome.com.tw/upload/images/20240916/20168811B75XQoAycp.png

ws.insert_cols(3)

https://ithelp.ithome.com.tw/upload/images/20240916/20168811d8qA2acLF7.png

  • 刪除橫排or直排
ws.insert_rows(3)
ws.insert_cols(3)
  1. 移動資料
  • 原本的表格:
    https://ithelp.ithome.com.tw/upload/images/20240916/20168811i9bUX7rexb.png
  • 移動
ws.move_range('A3:E4', rows=2, cols=1)#往下兩排、往右一行

https://ithelp.ithome.com.tw/upload/images/20240916/20168811MD1qlMVol0.png

openpyxl更多使用方法:openpyxl


上一篇
[Day25] Python Requests 模組-爬取網站資料
下一篇
[Day27] Python應用-QR code生成
系列文
從零開始學Python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言